#include "ActTestBehaviour.h"

/**
 * 
 * hlavna metoda, kde sa budu volat vsetky testy
 */
int actualTest = 1;


void ActTestBehaviour::Behave() 
{	
	//inicializacia ActTestBehavior -> pocet opakovani vsetkych testov

	PlayMode playMode = world->state->GetPlayMode();
	DBGN_TEST_START("unitTestsLogFile.txt");
	

	//aj ked sa bude robit spravanie ma Out, roh a po gole a podobne herne mody, to nevadi
	//lebo server funguje tak ze ak prejde povedzme 200 cyklov a nic sa nespravi, tak
	//server sam prehodi hru na PlayOn a to je nas cas na spravanie
	//takze ani pred spustanim hry netreba poustat zapas
	if (playMode == PM_PlayOn)
	{
		//testy
		//nacitanie testov pomocou nejakej logiky :) xml?
		if(actualTest == 1)
		{
			if(GetRunToPositionTestCase()->RunTest(200))
			{
				actualTest++;
			}
		}
		if(actualTest == 2)
		{
			if(GetPassBallToTestCase()->RunTest(200))
			{
				actualTest++;
			}
		}
		if(actualTest == 3)
		{
			if(GetNearKickTestCase()->RunTest(200))
			{
				actualTest++;
			}
		}
		if(actualTest == 4)
		{
			if(GetTurnToTestCase()->RunTest(5))
			{
				actualTest++;
			}
		}
		if(actualTest == 5)
		{
			if(GetTurnNeckToAuxTestCase()->RunTest(10))
			{
				actualTest++;
			}
		}
		//deinicializacia ActTestBehavior + vyhodnotenie testov
		if(actualTest == 6)
		{
			DBGN_TEST_END();
		}
	}
}
